package br.gov.mi.corporativo.dominio.boundary.comum.sistema;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import br.gov.mi.corporativo.dominio.entidade.comum.Sistema;

@WebService
public interface SistemaEndPoint {
	
	@WebMethod(operationName="listarTodosSistemas")
	public @WebResult(name="listaSistema")List<Sistema> recuperarTodos();
	
	@WebMethod(operationName="recuperarSistemaPorId")
	public @WebResult(name="sistema")Sistema recuperarPorId(@WebParam(name="id")Long id);
	
	@WebMethod(operationName="recuperarSistemaPorNome")
	public @WebResult(name="sistema")Sistema recuperarPorNome(@WebParam(name="nome")String nome);
	
	@WebMethod(operationName="recuperarSistemaPorSigla")
	public @WebResult(name="listaSistema")Sistema recuperarPorSigla(@WebParam(name="sigla")String sigla);
	
	@WebMethod(operationName="listarSistemaPorSigla")
	public @WebResult(name="listaSistema")List<Sistema> listarSistemaPorSigla(@WebParam(name="sigla")String sigla);
	
	@WebMethod(operationName="listarSistemaPorNome")
	public @WebResult(name="listaSistema")List<Sistema> listarSistemaPorNome(@WebParam(name="nome")String nome);
	
	@WebMethod(operationName="recuperarSistemaPorStatus")
	public @WebResult(name="listaTipoEndereco")List<Sistema> recuperarPorStatus(@WebParam(name="status")String status);
	
	@WebMethod(operationName="recuperarSistemaMaiorId")
	public @WebResult(name="sistema")Sistema recuperarSistemaMaiorId();
	
	@WebMethod(operationName="incluirSistema")
	public Sistema incluirSistema(@WebParam(name="sistema")Sistema sistema);
	
	@WebMethod(operationName="excluirSistema")
	public void excluirSistema(@WebParam(name="id")Long id);

}
